﻿using Abp.Application.Services.Dto;
using Mt.Site.Application.ContentManagement.FrontEnd.Dto;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Mt.Site.Application.ContentManagement.FrontEnd
{
    public interface IContent2FrontEndAppService : IFrontEndAppService
    {
        #region 基础接口
        /// <summary>
        /// 获取内容详情页
        /// </summary>
        /// <param name="input">内容的输入模型</param>
        /// <returns>如果未找到返回空；搜索文件数据的字典如果没数据则为默认值</returns>
        Task<_ContentDto> _GetContentAsync(_Content2Input input);
        /// <summary>
        /// 获取内容详情页预览
        /// </summary>
        /// <param name="input">内容的输入模型</param>
        /// <returns>如果未找到返回空；搜索文件数据的字典如果没数据则为默认值</returns>
        Task<_ContentDto> _GetContentPreviewAsync(PreviewContent2Input input);

        /// <summary>
        /// 更新点击
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<int> _UpdateHitAsync(_ContentIdInput input);

        /// <summary>
        /// 获取分页的内容信息
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<PagedResultDto<_ContentListDto>> _GetPagedContentAsync(_PagedContent2Input input);

        Task<List<_ContentDto>> _GetTopNumberContentAsync(_FirstContent2Input input);

        /// <summary>
        /// 获取
        /// </summary>
        /// <param name="input">上下页的模型</param>
        /// <returns></returns>
        Task<_PreAndNextDto> _GetPreAndNextContentAsync(_PreAndNextInput2 input);



        #endregion


        #region 扩展接口



        #endregion
    }
}
